package com.xmall.pay.service;

import com.xmall.define.dto.pay.AlipayRefundDto;
import com.xmall.define.dto.pay.AlipayRefundTradeDto;
import com.xmall.define.dto.pay.AlipayTradeDto;
import com.xmall.define.request.pay.AlipayRefundRequest;
import com.xmall.define.request.pay.AlipayRequest;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface IAlipayService {

    /**
     * 手机网站支付
     */
    String mobileWapPay(AlipayRequest request);

    /**
     * 支付回调
     */
    String tradeNotify(HttpServletRequest request, HttpServletResponse response);

    /**
     * 交易查询
     */
    AlipayTradeDto tradeInfo(String orderSn, String aliTradeNo);

    /**
     * 退款查询
     */
    AlipayRefundTradeDto refundTradeInfo(String orderSn, String aliTradeNo, String refundNo);

    /**
     * 退款
     */
    AlipayRefundDto refund(AlipayRefundRequest request);

}
